1. Field of the Invention
The present invention is directed to a system for orbital and volumetric navigation that can be used for three-dimensional tasks such as painting and viewing. More particularly, the present invention allows a user to change a viewpoint of an object by essentially pushing and tumbling the object.
2. Description of the Related Art
Three dimensional viewing systems usually include provisions for manipulating a view. Manipulation is generally designed to affect 6 degrees of freedom of a view; 3 for the view direction, and 3 for the view point or position. In the past, two approaches have been used for manipulating a view. First, separate panning, zooming, and tumbling or rotating operations have been assigned to different input controls or modes. Because of the high number of different manipulation actions, and because of the number of viewing parameters affected by those manipulations, it has been difficult to effectively and smoothly manipulate a view. Camera manipulation has generally taken one of two approaches.
A first approach to camera manipulation has been mode-based or multi-control manipulation, where different modes or controls are associated with different operations. For example, a mouse may have extra buttons, and the buttons will switch between different manipulation modes. For example, Button1+drag might control zooming (moving the camera along its camera direction), Button2+drag might control panning (translating the view), and Button3+drag might control tumble or rotation about a single fixed point, often a center or gravity point.
A second approach has been to use complex input devices that can move in three dimensions or otherwise provide greater three-dimensional input data. These devices include, for example, three-dimensional pucks, “space” mice, and other similar devices that are moved in three dimensions. Three-dimensional input devices often require two-handed control, are expensive, require training, or may require resources not available to a typical user with a typical computer workstation. What is needed is a system for manipulating a virtual navigation tool (e.g a camera) or multiple parameters of a virtual tool with a simple input device or input data, without having to toggle between different manipulation controls or modes, and without requiring expensive non-standard input devices.